[IA64] do not purge vhpt when emulation itr
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Wed, 12 Jul 2006 19:26:09 +0000 (13:26 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Wed, 12 Jul 2006 19:26:09 +0000 (13:26 -0600)
It's safe for linux not to purge vhpt when emulating itr,
otherwise there is considerable performance loss

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
xen/arch/ia64/xen/vcpu.c

index dcf7eed24ab146f42bee28231060651814e0a302..c3d0fe2543bfe4d5512fb5b9791f9d070f646844 100644 (file)
@@ -1923,7 +1923,14 @@ IA64FAULT vcpu_itr_d(VCPU *vcpu, UINT64 slot, UINT64 pte,
        vcpu_set_tr_entry(trp,pte,itir,ifa);
        vcpu_quick_region_set(PSCBX(vcpu,dtr_regions),ifa);
 
-       vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+       /*
+        * FIXME According to spec, vhpt should be purged, but this
+        * incurs considerable performance loss, since it is safe for
+        * linux not to purge vhpt, vhpt purge is disabled until a
+        * feasible way is found.
+        *
+        * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+        */
 
        return IA64_NO_FAULT;
 }
@@ -1942,7 +1949,14 @@ IA64FAULT vcpu_itr_i(VCPU *vcpu, UINT64 slot, UINT64 pte,
        vcpu_set_tr_entry(trp,pte,itir,ifa);
        vcpu_quick_region_set(PSCBX(vcpu,itr_regions),ifa);
 
-       vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+       /*
+        * FIXME According to spec, vhpt should be purged, but this
+        * incurs considerable performance loss, since it is safe for
+        * linux not to purge vhpt, vhpt purge is disabled until a
+        * feasible way is found.
+        *
+        * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir));
+        */
 
        return IA64_NO_FAULT;
 }